50 FOR A=0 TO MNM-1:READ MM%(A,0):FOR B=0 TO MM%(A,0):READ MM$(A,B):NEXT:NEXT:B=0:FOR A=0 TO MNM-1:MM%(A,1)=B:B=B+LEN(MM$(A,0))+1:NEXT:MM%(A,1)=B:COLOR MIC:FOR A=0 TO MNM-1:LOCATE MM%(A,1),0:PRINT MM$(A,0);:NEXT:COLOR 7
60 FOR A=0 TO MNM-1:B=0:FOR C=1 TO MM%(A,0):IF LEN(MM$(A,C))>B THEN B=LEN(MM$(A,C))
2530 CLOSE #1:IF BIT=4 THEN GOSUB *SCM0 ELSE IF BIT=16 THEN GOSUB *SCM1 ELSE M$="指定のTIFFファイルは256色ファイルです。":GOSUB *ALART:GOSUB *MOUSEWAIT:ON ERROR GOTO 0:GOTO 2150
2540 CLS 5:LOAD@ D$+FILE$+T$,(0,0):ON ERROR GOTO 0:GOSUB *PALCHK:FOR A=0 TO 25:FOR B=0 TO 3:CASTS&(A,B)=0:NEXT:FOR B=0 TO 31:FOR C=0 TO 3:CAST%(A,B,C)=0:NEXT:NEXT:NEXT:LINKF=0:LIF$="":FMF=0
3660 CLOSE #1:F_F$=D$+FILE$+T$:GOSUB *FILESIZE:LOAD@ D$+FILE$+T$,FILBUF%:ON ERROR GOTO 0
3670 IF FILBUF%(9)<>3 THEN M$="指定のファイルは16色ファイルではありません。":GOSUB *ALART:GOSUB *MOUSEWAIT:GOTO 2150
3680 PAL&=VARPTR(FILBUF%(12)):FOR A=0 TO 15:PALETTE A,[PEEK(PAL&+A*6+3),PEEK(PAL&+A*6+1),PEEK(PAL&+A*6+5)]:NEXT:CLS 5:PUT@A (FILBUF%(63),FILBUF%(64))-(FILBUF%(65),FILBUF%(66)),FILBUF%,PSET,,,,67:ERASE FILBUF%
3690 FOR A=0 TO 25:FOR B=0 TO 3:CASTS&(A,B)=0:NEXT:FOR B=0 TO 31:FOR C=0 TO 3:CAST%(A,B,C)=0:NEXT:NEXT:NEXT:LINKF=0:LIF$="":FMF=0:CLS 4:GOSUB *GSCREENON:GOSUB *MENUWRITE:RETURN
8520 IF MOUSE(2,0)=0 THEN 8520 ELSE A=MOUSE(6,0):MMX=MOUSE(0)*(SCM+1)
8530 MMY=MOUSE(1)*(SCM+1):IF MMY>18 THEN 8520
8540 CMD0=-1:MMX=MMX \ 8:FOR A=1 TO MNM:IF MMX<MM%(A,1) THEN CMD0=A-1:A=MNM+1
8550 NEXT:IF CMD0=-1 THEN 8520 ELSE COLOR PDC:FOR A=1 TO MM%(CMD0,0):LOCATE MM%(CMD0,1),A:PRINT LEFT$(MM$(CMD0,A)+STRING$(32," "),MM%(CMD0,2));:NEXT:OCMD=0:CMD1=0:COLOR 7
8560 MMX=MOUSE(0)*(SCM+1):MMY=MOUSE(1)*(SCM+1):IF MMX<MM%(CMD0,1)*8 OR (MMX>=(MM%(CMD0,1)+MM%(CMD0,2))*8 AND MMY>18) OR (MMX>=MM%(CMD0+1,1)*8 AND MMY<19) THEN COLOR 7:CLS 3:GOTO 8520
8570 IF MMY<19 AND OCMD<>0 THEN COLOR CPDC:LOCATE MM%(CMD0,1),OCMD:PRINT MM$(CMD0,OCMD);:CMD1=0:GOTO 8560 ELSE IF MMY<19 OR (MMY \ 19)>MM%(CMD0,0) THEN IF MOUSE(6,0)<>0 THEN COLOR 7:CLS 3:GOTO 8520 ELSE CMD1=0:GOTO 8560
8580 OCMD=CMD1:CMD1=MMY \ 19:IF OCMD=CMD1 THEN 8600 ELSE IF OCMD<>0 THEN COLOR PDC:LOCATE MM%(CMD0,1),OCMD:PRINT LEFT$(MM$(CMD0,OCMD)+STRING$(32," "),MM%(CMD0,2));
8590 COLOR CPDC:LOCATE MM%(CMD0,1),CMD1:PRINT LEFT$(MM$(CMD0,CMD1)+STRING$(32," "),MM%(CMD0,2));:COLOR 7
8600 IF MOUSE(6,0)=0 THEN 8560 ELSE FOR A=0 TO 3:COLOR CPDC:LOCATE MM%(CMD0,1),CMD1:PRINT LEFT$(MM$(CMD0,CMD1)+STRING$(32," "),MM%(CMD0,2));:COLOR PDC:FOR B=0 TO 500:NEXT
8610 LOCATE MM%(CMD0,1),CMD1:PRINT LEFT$(MM$(CMD0,CMD1)+STRING$(32," "),MM%(CMD0,2));:FOR B=0 TO 500:NEXT:NEXT:COLOR 7:CLS 3:CMD$=MM$(CMD0,CMD1):RETURN
11030 YNN=INSTR(M$,"[取")+INSTR(M$,"[終")+INSTR(M$,"[戻"):IF YNN=0 THEN YNN=3000 ELSE YNN=YNN*8-7
11040 YNY=INSTR(M$,"[実"):IF YNY=0 THEN YNY=3000 ELSE YNY=YNY*8-7
11050 I$="":WHILE (MOUSE(2,0)=0 AND I$<>CHR$(24) AND I$<>CHR$(13)):I$=INKEY$:WEND:MMX=MOUSE(0)*(SCM+1):MMY=MOUSE(1)*(SCM+1):IF I$=CHR$(24) OR I$=CHR$(13) THEN 11090
11060 WHILE MOUSE(6,0)=0:WEND:IF MMY<453 OR MMY>474 THEN BEEP:GOTO 11050
11070 IF MMX>YNN AND MMX<YNN+57 THEN I$=CHR$(24):GOTO 11090
11080 IF MMX>YNY AND MMX<YNY+57 THEN I$=CHR$(13) ELSE 11050
14040 TEMP&=CASTS&(A,1)*CASTS&(A,0):IF CASTS&(A,0) THEN TUC=TUC+1:TUF=TUF+CASTS&(A,0)
14050 TOT&=TOT&+TEMP&
14060 LOCATE (A MOD 2)*35+8,(A \ 2)+5:PRINT USING "Cast:@ ###### Bytes [#######]";CHR$(A+65);CASTS&(A,1);TEMP&
14070 NEXT
14080 LOCATE 40,19:PRINT USING "Total: ######## Bytes";TOT&;:LOCATE 11,20:PRINT USING "Total Number of Casts : ## Total Number of Frame : ###";TUC;TUF;
16030 WHILE MOUSE(2,0)=0:WEND:MRX0=MOUSE(0):MRY0=MOUSE(1):MRX1=MRX0+MRX-1:MRY1=MRY0+MRY-1:MOFS=MRX0 MOD XST:MOFS2=XST-MOFS:LINE (MRX0,MRY0)-(MRX1,MRY1),XOR,7,B:IF (MRX1<640/(SCM+1)) AND (MRY1<480/(SCM+1)) THEN MOUSE 1,MRX1,MRY1,0 ELSE MOUSE 1,MRX0,MRY0,0
16040 WHILE (MOUSE(6,0)=0 AND MOUSE(2,1)=0)
16050 OMRX=MRX1:OMRY=MRY1:MRX1=MOUSE(0):MRY1=MOUSE(1):IF MRX1<MRX0 THEN MRX1=MRX1-(MRX1 MOD XST)-MOFS2+1 ELSE MRX1=MRX1+1:MRX1=MRX1-(MRX1 MOD XST)+MOFS-1
16060 IF (OMRX<>MRX1) OR (OMRY<>MRY1) THEN LINE (MRX0,MRY0)-(OMRX,OMRY),XOR,7,B:LINE (MRX0,MRY0)-(MRX1,MRY1),XOR,7,B
40380 *ALL_END:ERASE FB%:GOSUB *MOUSEINIT:FOR A=0 TO 25:FOR B=0 TO 3:CASTS&(A,B)=0:NEXT:FOR B=0 TO 31:FOR C=0 TO 3:CAST%(A,B,C)=0:NEXT:NEXT:NEXT:LINKF=0:LIF$="":FMF=0:CLS 4:GOSUB *GSCREENON:GOSUB *MENUWRITE:RETURN
40450 *SCREEN_MODE:IF SCM=1 THEN GOSUB *SCM1 ELSE GOSUB *SCM0
40460 MOUSE 5:IF BIT=1 THEN LLN=(X+7)\8:RETURN
40470 *CALC_LLN:IF BIT=4 THEN LLN=((X+7)\8)*4:RETURN
40480 IF BIT=8 THEN LLN=X:RETURN
40490 IF BIT=16 THEN LLN=X*2:RETURN
40500 *PALETTE_CHANGEP:IF PALM=0 THEN *PAL_INI ELSE GOSUB *PAL_GET:GOSUB *PALETTE_CHANGE:RETURN
40520 *PAL_GET:IF SCM=2 THEN 40540
40530 FOR A=0 TO 15:A$=INPUT$(1,1):B$=INPUT$(1,1):PAL&(A)=((ASC(A$)*65536)+(ASC(B$) AND &HF0)*16+(ASC(B$) AND 15))*16:NEXT:DL=15:HEL&=HEL&+(DL+1)*2:RETURN
40540 FOR A=0 TO 255:A$=CHR$(0)+INPUT$(3,1):PAL&(A)=CVL(A$):NEXT:DL=255:HEL&=HEL&+(DL+1)*3:RETURN